package com.example.java_chatroom.api;

import com.example.java_chatroom.model.Message;
import com.example.java_chatroom.model.MessageMapper;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

import javax.annotation.Resource;
import java.util.Collections;
import java.util.List;

@RestController
public class MessageAPI {

    /**
     * 消息表的mapper
     */
    @Resource
    private MessageMapper messageMapper;

    /**
     * 获取历史消息接口
     * @param sessionId         会话id
     * @return      返回指定会话id的历史消息列表
     */
    @GetMapping("/historyMessage")
    public Object historyMessage(int sessionId) {
        // 查询数据库获取消息列表
        // 这块是根据时间倒叙查出最后的100条
        List<Message> messages = messageMapper.getMessagesBySessionId(sessionId);
        // 针对查询结果, 进行逆置操作. 毕竟界面上需要的是按照时间升序排列的消息. 此处得到的是降序排列的消息.
        Collections.reverse(messages);
        return messages;
    }
}
